package com.wd.live.module_base.net.util

import com.tencent.mmkv.MMKV
import com.wd.live.module_base.net.bean.live.LiveData

/**
 * 作者: 王晶晶
 * 时间:2024/5/24
 * 描述:
 */
object MMKVUtil {
    //返回一个MMKV的默认
    private var mMkvUtil: MMKV? = null

    fun getMMkv(): MMKV {
        return MMKV.defaultMMKV().also { mMkvUtil = it }
    }
    //存储用户信息
    fun setUser(userId:Int,sessionId:String){
        val mmkv = MMKV.defaultMMKV()
//        编码
        mmkv.encode("userId",userId)
        mmkv.encode("sessionId",sessionId)
    }

    //获取getUserId
    //还可以为这些函数生成静态方法
    // @JvmStatic 注解也可以应用于对象或伴生对象的属性    ，companion object伴生对象
    // 使其 getter 和 setter 方法成为该对象或包含伴生对象的类的静态成员。
    @JvmStatic
    fun getUserId():Int{
        val mmkv = MMKV.defaultMMKV()
        return mmkv.decodeInt("userId")
    }
    //获取getsessionId
    @JvmStatic
    fun getSessionId(): String {
        return MMKV.defaultMMKV().decodeString("sessionId","")
    }
    //存储基础用户信息
    fun setUserContent(nickName: String,headPic:String,sex: Int){
        val mmkv = MMKV.defaultMMKV()
//        编码
        mmkv.encode("nickName",nickName)
        mmkv.encode("headPic",headPic)
        mmkv.encode("sex",sex)
    }
    fun setPic(headPic:String){
        val mmkv = MMKV.defaultMMKV()
//        编码
        mmkv.encode("headPic",headPic)
    }
    @JvmStatic
    fun getNickName():String{
        val mmkv = MMKV.defaultMMKV()
        return  mmkv.decodeString("nickName")

    }
    @JvmStatic
    fun getHeadPic():String{
        val mmkv = MMKV.defaultMMKV()
        return  mmkv.decodeString("headPic")

    }
    @JvmStatic
    fun getSex():Int{
        val mmkv = MMKV.defaultMMKV()
        return  mmkv.decodeInt("sex")

    }



    //存储isLogin
    fun setIsLogin(isLogin:Boolean){
        val mmkv = MMKV.defaultMMKV()
//        编码
        mmkv.encode("isLogin",isLogin)

    }
    //获取getIsLogin
    @JvmStatic
    fun getIsLogin():Boolean{
        val mmkv=MMKV.defaultMMKV()
        return mmkv.decodeBool("isLogin")
    }
}